<html>
<head>
<title>unit tests coverage</title>
<link rel ="stylesheet" type="text/css" href="../../../../style.css" title="Style">
</head>
<body>
<span class="title">Coverage report</span>
<p>
  <table cellspacing="0" cellpadding="0" class="report">
  <tr class="report">
    <th class="report">&nbsp;</th>
    <th class="report">%line</th>
    <th class="report">%branch</th>
  </tr>
  <tr class="report">
    <td class="reportText"><span class="text">org.apache.torque.util.LargeSelect</span></td>
    <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text">0%&nbsp;</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width="0"></td><td class="percentUnCovered" width="100.0"></td></tr></table></td></tr></table></td>
    <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text">0%&nbsp;</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width="0"></td><td class="percentUnCovered" width="100.0"></td></tr></table></td></tr></table></td>
  </tr>
  </table>
  <p>
  <table cellspacing="0" cellpadding="0" class="src">
    <tr>
      <td class="numLine">&nbsp;1</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">package</span> org.apache.torque.util;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;2</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;3</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">/*</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;4</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;5</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * or more contributor license agreements.  See the NOTICE file</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;6</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * distributed with this work for additional information</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;7</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * regarding copyright ownership.  The ASF licenses this file</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;8</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * to you under the Apache License, Version 2.0 (the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;9</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * "License"); you may not use this file except in compliance</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;10</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * with the License.  You may obtain a copy of the License at</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;11</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;12</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *   http://www.apache.org/licenses/LICENSE-2.0</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;13</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;14</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * Unless required by applicable law or agreed to in writing,</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;15</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * software distributed under the License is distributed on an</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;16</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;17</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * KIND, either express or implied.  See the License for the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;18</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * specific language governing permissions and limitations</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;19</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * under the License.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;20</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;21</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;22</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.IOException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;23</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.ObjectInputStream;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;24</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.Serializable;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;25</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.lang.reflect.Method;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;26</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.sql.Connection;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;27</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.sql.SQLException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;28</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.ArrayList;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;29</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Hashtable;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;30</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Iterator;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;31</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.List;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;32</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Set;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;33</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;34</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.commons.logging.Log;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;35</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.commons.logging.LogFactory;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;36</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.torque.Torque;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;37</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.torque.TorqueException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;38</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;39</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> com.workingdogs.village.DataSetException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;40</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> com.workingdogs.village.QueryDataSet;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;41</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;42</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;43</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * This class can be used to retrieve a large result set from a database query.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;44</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * The query is started and then rows are returned a page at a time.  The &#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;45</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * LargeSelect&#60;/code&#62; is meant to be placed into the Session or User.Temp, so</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;46</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * that it can be used in response to several related requests.  Note that in</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;47</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * order to use &#60;code&#62;LargeSelect&#60;/code&#62; you need to be willing to accept the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;48</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * fact that the result set may become inconsistent with the database if updates</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;49</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * are processed subsequent to the queries being executed.  Specifying a memory</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;50</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * page limit of 1 will give you a consistent view of the records but the totals</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;51</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * may not be accurate and the performance will be terrible.  In most cases</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;52</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * the potential for inconsistencies data should not cause any serious problems</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;53</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * and performance should be pretty good (but read on for further warnings).</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;54</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;55</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;p&#62;The idea here is that the full query result would consume too much memory</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;56</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * and if displayed to a user the page would be too long to be useful.  Rather</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;57</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * than loading the full result set into memory, a window of data (the memory</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;58</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * limit) is loaded and retrieved a page at a time.  If a request occurs for</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;59</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * data that falls outside the currently loaded window of data then a new query</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;60</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * is executed to fetch the required data.  Performance is optimized by</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;61</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * starting a thread to execute the database query and fetch the results.  This</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;62</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * will perform best when paging forwards through the data, but a minor</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;63</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * optimization where the window is moved backwards by two rather than one page</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;64</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * is included for when a user pages past the beginning of the window.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;65</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;66</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;p&#62;As the query is performed in in steps, it is often the case that the total</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;67</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * number of records and pages of data is unknown.  &#60;code&#62;LargeSelect&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;68</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * provides various methods for indicating how many records and pages it is</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;69</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * currently aware of and for presenting this information to users.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;70</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;71</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;p&#62;&#60;code&#62;LargeSelect&#60;/code&#62; utilises the &#60;code&#62;Criteria&#60;/code&#62; methods</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;72</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;code&#62;setOffset()&#60;/code&#62; and &#60;code&#62;setLimit()&#60;/code&#62; to limit the amount of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;73</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * data retrieved from the database - these values are either passed through to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;74</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * the DBMS when supported (efficient with the caveat below) or handled by</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;75</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * the Village API when it is not (not so efficient).  At time of writing</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;76</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;code&#62;Criteria&#60;/code&#62; will only pass the offset and limit through to MySQL</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;77</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * and PostgreSQL (with a few changes to &#60;code&#62;DBOracle&#60;/code&#62; and &#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;78</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * BasePeer&#60;/code&#62; Oracle support can be implemented by utilising the &#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;79</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * rownum&#60;/code&#62; pseudo column).</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;80</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;81</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;p&#62;As &#60;code&#62;LargeSelect&#60;/code&#62; must re-execute the query each time the user</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;82</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * pages out of the window of loaded data, you should consider the impact of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;83</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * non-index sort orderings and other criteria that will require the DBMS to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;84</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * execute the entire query before filtering down to the offset and limit either</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;85</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * internally or via Village.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;86</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;87</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;p&#62;The memory limit defaults to 5 times the page size you specify, but</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;88</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * alternative constructors and the class method &#60;code&#62;setMemoryPageLimit()</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;89</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;/code&#62; allow you to override this for a specific instance of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;90</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;code&#62;LargeSelect&#60;/code&#62; or future instances respectively.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;91</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;92</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;p&#62;Some of the constructors allow you to specify the name of the class to use</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;93</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * to build the returnd rows.  This works by using reflection to find &#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;94</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * addSelectColumns(Criteria)&#60;/code&#62; and &#60;code&#62;populateObjects(List)&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;95</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * methods to add the necessary select columns to the criteria (only if it</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;96</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * doesn't already contain any) and to convert query results from Village</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;97</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;code&#62;Record&#60;/code&#62; objects to a class defined within the builder class.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;98</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * This allows you to use any of the Torque generated Peer classes, but also</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;99</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * makes it fairly simple to construct business object classes that can be used</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;100</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * for this purpose (simply copy and customise the &#60;code&#62;addSelectColumns()</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;101</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;/code&#62;, &#60;code&#62;populateObjects()&#60;/code&#62;, &#60;code&#62;row2Object()&#60;/code&#62; and &#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;102</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * populateObject()&#60;/code&#62; methods from an existing Peer class).</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;103</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;104</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;p&#62;Typically you will create a &#60;code&#62;LargeSelect&#60;/code&#62; using your &#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;105</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * Criteria&#60;/code&#62; (perhaps created from the results of a search parameter</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;106</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * page), page size, memory page limit and return class name (for which you may</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;107</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * have defined a business object class before hand) and place this in user.Temp</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;108</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * thus:</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;109</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;110</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;pre&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;111</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *     data.getUser().setTemp("someName", largeSelect);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;112</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;/pre&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;113</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;114</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;p&#62;In your template you will then use something along the lines of:</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;115</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;116</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;pre&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;117</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *    #set($largeSelect = $data.User.getTemp("someName"))</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;118</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *    #set($searchop = $data.Parameters.getString("searchop"))</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;119</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *    #if($searchop.equals("prev"))</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;120</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *      #set($recs = $largeSelect.PreviousResults)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;121</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *    #else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;122</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *      #if($searchop.equals("goto"))</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;123</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *        #set($recs = $largeSelect.getPage($data.Parameters.getInt("page", 1)))</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;124</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *      #else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;125</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *        #set($recs = $largeSelect.NextResults)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;126</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *      #end</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;127</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *    #end</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;128</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;/pre&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;129</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;130</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * &#60;p&#62;...to move through the records.  &#60;code&#62;LargeSelect&#60;/code&#62; implements a</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;131</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * number of convenience methods that make it easy to add all of the necessary</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;132</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * bells and whistles to your template.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;133</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;134</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * @author &#60;a href="mailto:john.mcnally@clearink.com"&#62;John D. McNally&#60;/a&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;135</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * @author &#60;a href="mailto:seade@backstagetech.com.au"&#62;Scott Eade&#60;/a&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;136</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * @version $Id: LargeSelect.java 534001 2007-05-01 10:46:05Z tv $</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;137</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;138</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> LargeSelect implements Runnable, Serializable</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;139</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;{</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;140</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* Serial version */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;141</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">long</span> serialVersionUID = -1166842932571491942L;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;142</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;143</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The number of records that a page consists of.  */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;144</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">int</span> pageSize;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;145</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The maximum number of records to maintain in memory. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;146</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">int</span> memoryLimit;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;147</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;148</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The record number of the first record in memory. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;149</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">transient</span> <span class="keyword">int</span> blockBegin = 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;150</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The record number of the last record in memory. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;151</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">transient</span> <span class="keyword">int</span> blockEnd;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;152</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* How much of the memory block is currently occupied with result data. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;153</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">volatile</span> <span class="keyword">int</span> currentlyFilledTo = -1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;154</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;155</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The SQL query that this &#60;code&#62;LargeSelect&#60;/code&#62; represents. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;156</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> String query;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;157</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The database name to get from Torque. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;158</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> String dbName;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;159</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;160</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The memory store of records. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;161</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">transient</span> List results = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;162</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;163</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The thread that executes the query. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;164</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">transient</span> Thread thread = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;165</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;166</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * A flag used to kill the thread when the currently executing query is no</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;167</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * longer required.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;168</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;169</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">transient</span> <span class="keyword">volatile</span> <span class="keyword">boolean</span> killThread = false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;170</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* A flag that indicates whether or not the query thread is running. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;171</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">transient</span> <span class="keyword">volatile</span> <span class="keyword">boolean</span> threadRunning = false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;172</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;173</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * An indication of whether or not the current query has completed</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;174</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * processing.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;175</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;176</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">transient</span> <span class="keyword">volatile</span> <span class="keyword">boolean</span> queryCompleted = false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;177</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;178</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * An indication of whether or not the totals (records and pages) are at</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;179</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * their final values.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;180</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;181</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">transient</span> <span class="keyword">boolean</span> totalsFinalized = false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;182</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;183</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The cursor position in the result set. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;184</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">int</span> position;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;185</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The total number of pages known to exist. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;186</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">int</span> totalPages = -1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;187</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The total number of records known to exist. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;188</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">int</span> totalRecords = 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;189</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;190</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The criteria used for the query. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;191</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> Criteria criteria = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;192</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The last page of results that were returned. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;193</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">transient</span> List lastResults;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;194</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;195</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;196</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * The class that is possibly used to construct the criteria and used</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;197</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * to transform the Village Records into the desired OM or business objects.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;198</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;199</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> Class returnBuilderClass = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;200</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;201</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * A reference to the method in the return builder class that will</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;202</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * convert the Village Records to the desired class.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;203</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;204</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">transient</span> Method populateObjectsMethod = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;205</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;206</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;207</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * The default value ("&#38;gt;") used to indicate that the total number of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;208</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * records or pages is unknown.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;209</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;210</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String DEFAULT_MORE_INDICATOR = <span class="string">"&#38;gt;"</span>;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;211</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;212</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;213</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * The value used to indicate that the total number of records or pages is</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;214</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * unknown (default: "&#38;gt;"). You can use &#60;code&#62;setMoreIndicator()&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;215</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * to change this to whatever value you like (e.g. "more than").</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;216</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;217</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">static</span> String moreIndicator = DEFAULT_MORE_INDICATOR;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;218</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;219</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;220</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * The default value for the maximum number of pages of data to be retained</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;221</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * in memory.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;222</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;223</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">int</span> DEFAULT_MEMORY_LIMIT_PAGES = 5;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;224</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;225</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;226</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * The maximum number of pages of data to be retained in memory.  Use</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;227</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;setMemoryPageLimit()&#60;/code&#62; to provide your own value.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;228</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;229</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">int</span> memoryPageLimit = DEFAULT_MEMORY_LIMIT_PAGES;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;230</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;231</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;232</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * The number of milliseconds to sleep when the result of a query</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;233</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * is not yet available.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;234</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;235</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">int</span> QUERY_NOT_COMPLETED_SLEEP_TIME = 500;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;236</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;237</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;238</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * The number of milliseconds to sleep before retrying to stop a query.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;239</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;240</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">int</span> QUERY_STOP_SLEEP_TIME = 100;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;241</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;242</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* A place to store search parameters that relate to this query. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;243</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> Hashtable params = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;244</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;245</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* Logging */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;246</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    <span class="keyword">private</span> <span class="keyword">static</span> Log log = LogFactory.getLog(LargeSelect.<span class="keyword">class</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;247</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;248</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;249</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Creates a LargeSelect whose results are returned as a &#60;code&#62;List&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;250</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * containing a maximum of &#60;code&#62;pageSize&#60;/code&#62; Village &#60;code&#62;Record&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;251</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * objects at a time, maintaining a maximum of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;252</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;LargeSelect.memoryPageLimit&#60;/code&#62; pages of results in memory.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;253</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;254</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param criteria object used by BasePeer to build the query.  In order to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;255</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * allow this class to utilise database server implemented offsets and</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;256</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * limits (when available), the provided criteria must not have any limit or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;257</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * offset defined.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;258</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param pageSize number of rows to return in one block.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;259</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws IllegalArgumentException if &#60;code&#62;criteria&#60;/code&#62; uses one or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;260</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * both of offset and limit, or if &#60;code&#62;pageSize&#60;/code&#62; is less than 1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;261</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;262</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> LargeSelect(Criteria criteria, <span class="keyword">int</span> pageSize)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;263</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;264</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">this</span>(criteria, pageSize, LargeSelect.memoryPageLimit);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;265</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;266</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;267</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;268</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Creates a LargeSelect whose results are returned as a &#60;code&#62;List&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;269</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * containing a maximum of &#60;code&#62;pageSize&#60;/code&#62; Village &#60;code&#62;Record&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;270</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * objects at a time, maintaining a maximum of &#60;code&#62;memoryPageLimit&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;271</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * pages of results in memory.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;272</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;273</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param criteria object used by BasePeer to build the query.  In order to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;274</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * allow this class to utilise database server implemented offsets and</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;275</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * limits (when available), the provided criteria must not have any limit or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;276</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * offset defined.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;277</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param pageSize number of rows to return in one block.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;278</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param memoryPageLimit maximum number of pages worth of rows to be held</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;279</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * in memory at one time.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;280</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws IllegalArgumentException if &#60;code&#62;criteria&#60;/code&#62; uses one or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;281</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * both of offset and limit, or if &#60;code&#62;pageSize&#60;/code&#62; or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;282</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;memoryLimitPages&#60;/code&#62; are less than 1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;283</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;284</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> LargeSelect(Criteria criteria, <span class="keyword">int</span> pageSize, <span <span class="keyword">class</span>="keyword">int</span> memoryPageLimit)</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;285</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    {</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;286</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        init(criteria, pageSize, memoryPageLimit);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;287</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;288</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;289</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;290</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Creates a LargeSelect whose results are returned as a &#60;code&#62;List&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;291</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * containing a maximum of &#60;code&#62;pageSize&#60;/code&#62; objects of the type</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;292</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * defined within the class named &#60;code&#62;returnBuilderClassName&#60;/code&#62; at a</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;293</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * time, maintaining a maximum of &#60;code&#62;LargeSelect.memoryPageLimit&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;294</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * pages of results in memory.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;295</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;296</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param criteria object used by BasePeer to build the query.  In order to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;297</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * allow this class to utilise database server implemented offsets and</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;298</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * limits (when available), the provided criteria must not have any limit or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;299</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * offset defined.  If the criteria does not include the definition of any</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;300</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * select columns the &#60;code&#62;addSelectColumns(Criteria)&#60;/code&#62; method of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;301</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * the class named as &#60;code&#62;returnBuilderClassName&#60;/code&#62; will be used to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;302</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * add them.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;303</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param pageSize number of rows to return in one block.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;304</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param returnBuilderClassName The name of the class that will be used to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;305</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * build the result records (may implement &#60;code&#62;addSelectColumns(Criteria)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;306</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;/code&#62; and must implement &#60;code&#62;populateObjects(List)&#60;/code&#62;).</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;307</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws IllegalArgumentException if &#60;code&#62;criteria&#60;/code&#62; uses one or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;308</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * both of offset and limit, if &#60;code&#62;pageSize&#60;/code&#62; is less than 1, or if</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;309</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * problems are experienced locating and invoking either one or both of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;310</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;addSelectColumns(Criteria)&#60;/code&#62; and &#60;code&#62; populateObjects(List)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;311</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;/code&#62; in the class named &#60;code&#62;returnBuilderClassName&#60;/code&#62;.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;312</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;313</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> LargeSelect(</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;314</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            Criteria criteria,</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;315</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">int</span> pageSize,</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;316</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            String returnBuilderClassName)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;317</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;318</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">this</span>(</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;319</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            criteria,</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;320</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            pageSize,</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;321</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            LargeSelect.memoryPageLimit,</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;322</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            returnBuilderClassName);</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;323</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;324</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;325</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;326</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Creates a LargeSelect whose results are returned as a &#60;code&#62;List&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;327</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * containing a maximum of &#60;code&#62;pageSize&#60;/code&#62; objects of the type</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;328</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * defined within the class named &#60;code&#62;returnBuilderClassName&#60;/code&#62; at a</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;329</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * time, maintaining a maximum of &#60;code&#62;memoryPageLimit&#60;/code&#62; pages of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;330</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * results in memory.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;331</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;332</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param criteria object used by BasePeer to build the query.  In order to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;333</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * allow this class to utilise database server implemented offsets and</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;334</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * limits (when available), the provided criteria must not have any limit or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;335</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * offset defined.  If the criteria does not include the definition of any</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;336</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * select columns the &#60;code&#62;addSelectColumns(Criteria)&#60;/code&#62; method of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;337</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * the class named as &#60;code&#62;returnBuilderClassName&#60;/code&#62; will be used to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;338</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * add them.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;339</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param pageSize number of rows to return in one block.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;340</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param memoryPageLimit maximum number of pages worth of rows to be held</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;341</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * in memory at one time.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;342</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param returnBuilderClassName The name of the class that will be used to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;343</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * build the result records (may implement &#60;code&#62;addSelectColumns(Criteria)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;344</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;/code&#62; and must implement &#60;code&#62;populateObjects(List)&#60;/code&#62;).</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;345</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws IllegalArgumentException if &#60;code&#62;criteria&#60;/code&#62; uses one or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;346</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * both of offset and limit, if &#60;code&#62;pageSize&#60;/code&#62; or &#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;347</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * memoryLimitPages&#60;/code&#62; are less than 1, or if problems are experienced</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;348</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * locating and invoking either one or both of &#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;349</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * addSelectColumns(Criteria)&#60;/code&#62; and &#60;code&#62; populateObjects(List)&#60;/code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;350</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * in the class named &#60;code&#62;returnBuilderClassName&#60;/code&#62;.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;351</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;352</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> LargeSelect(</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;353</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            Criteria criteria,</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;354</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">int</span> pageSize,</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;355</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">int</span> memoryPageLimit,</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;356</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            String returnBuilderClassName)</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;357</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    {</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;358</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;359</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;360</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">this</span>.returnBuilderClass = Class.forName(returnBuilderClassName);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;361</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;362</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Add the select columns if necessary.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;363</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (criteria.getSelectColumns().size() == 0)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;364</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;365</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                Class[] argTypes = { Criteria.<span class="keyword">class</span> };</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;366</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                Method selectColumnAdder =</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;367</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    returnBuilderClass.getMethod(<span class="string">"addSelectColumns"</span>, argTypes);</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;368</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                Object[] theArgs = { criteria };</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;369</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                selectColumnAdder.invoke(returnBuilderClass.newInstance(),</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;370</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        theArgs);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;371</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;372</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;373</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">catch</span> (Exception e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;374</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;375</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;376</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="string">"The class named as returnBuilderClassName does not "</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;377</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    + <span class="string">"provide the necessary facilities - see javadoc."</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;378</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;379</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;380</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        init(criteria, pageSize, memoryPageLimit);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;381</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;382</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;383</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;384</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Access the populateObjects method.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;385</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;386</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws SecurityException if the security manager does not allow</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;387</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *         access to the method.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;388</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws NoSuchMethodException if the poulateObjects method does not</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;389</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *         exist.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;390</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;391</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> Method getPopulateObjectsMethod()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;392</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            throws NoSuchMethodException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;393</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;394</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (<span class="keyword">null</span> == populateObjectsMethod)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;395</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;396</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            Class[] argTypes = { List.<span class="keyword">class</span> };</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;397</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            populateObjectsMethod</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;398</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    = returnBuilderClass.getMethod(<span class="string">"populateObjects"</span>, argTypes);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;399</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;400</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> populateObjectsMethod;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;401</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;402</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;403</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;404</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Called by the constructors to start the query.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;405</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;406</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param criteria Object used by &#60;code&#62;BasePeer&#60;/code&#62; to build the query.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;407</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * In order to allow this class to utilise database server implemented</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;408</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * offsets and limits (when available), the provided criteria must not have</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;409</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * any limit or offset defined.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;410</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param pageSize number of rows to return in one block.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;411</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param memoryLimitPages maximum number of pages worth of rows to be held</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;412</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * in memory at one time.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;413</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws IllegalArgumentException if &#60;code&#62;criteria&#60;/code&#62; uses one or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;414</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * both of offset and limit and if &#60;code&#62;pageSize&#60;/code&#62; or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;415</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;memoryLimitPages&#60;/code&#62; are less than 1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;416</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;417</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">void</span> init(Criteria criteria, <span class="keyword">int</span> pageSize, <span <span class="keyword">class</span>="keyword">int</span> memoryLimitPages)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;418</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;419</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (criteria.getOffset() != 0 || criteria.getLimit() != -1)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;420</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;421</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;422</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="string">"criteria must not use Offset and/or Limit."</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;423</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;424</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;425</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (pageSize &#60; 1)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;426</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;427</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;428</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="string">"pageSize must be greater than zero."</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;429</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;430</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;431</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (memoryLimitPages &#60; 1)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;432</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;433</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;434</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="string">"memoryPageLimit must be greater than zero."</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;435</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;436</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;437</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">this</span>.pageSize = pageSize;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;438</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">this</span>.memoryLimit = pageSize * memoryLimitPages;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;439</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">this</span>.criteria = criteria;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;440</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        dbName = criteria.getDbName();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;441</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        blockEnd = blockBegin + memoryLimit - 1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;442</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        startQuery(pageSize);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;443</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;444</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;445</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;446</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieve a specific page, if it exists.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;447</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;448</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param pageNumber the number of the page to be retrieved - must be</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;449</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * greater than zero.  An empty &#60;code&#62;List&#60;/code&#62; will be returned if</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;450</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;pageNumber&#60;/code&#62; exceeds the total number of pages that exist.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;451</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return a &#60;code&#62;List&#60;/code&#62; of query results containing a maximum of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;452</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;pageSize&#60;/code&#62; results.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;453</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws IllegalArgumentException when &#60;code&#62;pageNo&#60;/code&#62; is not</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;454</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * greater than zero.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;455</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws TorqueException if invoking the &#60;code&#62;populateObjects()&#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;456</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * method runs into problems or a sleep is unexpectedly interrupted.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;457</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;458</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> List getPage(<span class="keyword">int</span> pageNumber) throws TorqueException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;459</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;460</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (pageNumber &#60; 1)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;461</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;462</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;463</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="string">"pageNumber must be greater than zero."</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;464</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;465</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> getResults((pageNumber - 1) * pageSize);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;466</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;467</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;468</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;469</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Gets the next page of rows.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;470</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;471</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return a &#60;code&#62;List&#60;/code&#62; of query results containing a maximum of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;472</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;pageSize&#60;/code&#62; reslts.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;473</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws TorqueException if invoking the &#60;code&#62;populateObjects()&#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;474</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * method runs into problems or a sleep is unexpectedly interrupted.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;475</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;476</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> List getNextResults() throws TorqueException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;477</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;478</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (!getNextResultsAvailable())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;479</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;480</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> getCurrentPageResults();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;481</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;482</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> getResults(position);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;483</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;484</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;485</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;486</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Provide access to the results from the current page.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;487</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;488</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return a &#60;code&#62;List&#60;/code&#62; of query results containing a maximum of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;489</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;pageSize&#60;/code&#62; reslts.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;490</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws TorqueException if invoking the &#60;code&#62;populateObjects()&#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;491</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * method runs into problems or a sleep is unexpectedly interrupted.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;492</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;493</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> List getCurrentPageResults() throws TorqueException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;494</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;495</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> <span class="keyword">null</span> == lastResults &#38;&#38; position &#62; 0</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;496</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                ? getResults(position) : lastResults;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;497</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;498</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;499</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;500</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Gets the previous page of rows.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;501</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;502</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return a &#60;code&#62;List&#60;/code&#62; of query results containing a maximum of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;503</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;pageSize&#60;/code&#62; reslts.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;504</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws TorqueException if invoking the &#60;code&#62;populateObjects()&#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;505</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * method runs into problems or a sleep is unexpectedly interrupted.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;506</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;507</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> List getPreviousResults() throws TorqueException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;508</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;509</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (!getPreviousResultsAvailable())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;510</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;511</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> getCurrentPageResults();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;512</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;513</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;514</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">int</span> start;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;515</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (position - 2 * pageSize &#60; 0)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;516</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;517</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            start = 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;518</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;519</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;520</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;521</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            start = position - 2 * pageSize;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;522</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;523</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> getResults(start);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;524</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;525</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;526</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;527</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Gets a page of rows starting at a specified row.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;528</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;529</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param start the starting row.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;530</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return a &#60;code&#62;List&#60;/code&#62; of query results containing a maximum of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;531</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;pageSize&#60;/code&#62; reslts.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;532</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws TorqueException if invoking the &#60;code&#62;populateObjects()&#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;533</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * method runs into problems or a sleep is unexpectedly interrupted.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;534</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;535</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> List getResults(<span class="keyword">int</span> start) throws TorqueException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;536</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;537</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> getResults(start, pageSize);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;538</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;539</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;540</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;541</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Gets a block of rows starting at a specified row and containing a</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;542</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * specified number of rows.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;543</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;544</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param start the starting row.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;545</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param size the number of rows.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;546</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return a &#60;code&#62;List&#60;/code&#62; of query results containing a maximum of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;547</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;pageSize&#60;/code&#62; reslts.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;548</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws IllegalArgumentException if &#60;code&#62;size &#38;gt; memoryLimit&#60;/code&#62; or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;549</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;start&#60;/code&#62; and &#60;code&#62;size&#60;/code&#62; result in a situation that is</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;550</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * not catered for.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;551</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws TorqueException if invoking the &#60;code&#62;populateObjects()&#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;552</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * method runs into problems or a sleep is unexpectedly interrupted.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;553</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;554</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">synchronized</span> List getResults(<span class="keyword">int</span> start, <span <span class="keyword">class</span>="keyword">int</span> size)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;555</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            throws TorqueException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;556</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;557</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (log.isDebugEnabled())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;558</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;559</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            log.debug(<span class="string">"getResults(start: "</span> + start</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;560</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    + <span class="string">", size: "</span> + size + <span class="string">") invoked."</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;561</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;562</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;563</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (size &#62; memoryLimit)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;564</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;565</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"size ("</span> + size</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;566</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    + <span class="string">") exceeds memory limit ("</span> + memoryLimit + <span class="string">")."</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;567</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;568</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;569</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// Request was for a block of rows which should be in progess.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;570</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// If the rows have not yet been returned, wait for them to be</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;571</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// retrieved.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;572</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (start &#62;= blockBegin &#38;&#38; (start + size - 1) &#60;= blockEnd)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;573</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;574</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (log.isDebugEnabled())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;575</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;576</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"getResults(): Sleeping until "</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;577</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + <span class="string">"start+size-1 ("</span> + (start + size - 1)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;578</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + <span class="string">") &#62; currentlyFilledTo ("</span> + currentlyFilledTo</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;579</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + <span class="string">") &#38;&#38; !queryCompleted (!"</span> + queryCompleted + <span class="string">")"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;580</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;581</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">while</span> (((start + size - 1) &#62; currentlyFilledTo) &#38;&#38; !queryCompleted)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;582</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;583</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;584</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;585</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    Thread.sleep(QUERY_NOT_COMPLETED_SLEEP_TIME);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;586</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;587</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">catch</span> (InterruptedException e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;588</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;589</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">throw</span> <span class="keyword">new</span> TorqueException(<span class="string">"Unexpected interruption"</span>, e);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;590</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;591</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;592</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;593</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;594</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// Going in reverse direction, trying to limit db hits so assume user</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;595</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// might want at least 2 sets of data.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;596</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">else</span> <span class="keyword">if</span> (start &#60; blockBegin &#38;&#38; start &#62;= 0)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;597</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;598</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (log.isDebugEnabled())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;599</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;600</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"getResults(): Paging backwards as start ("</span> + start</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;601</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + <span class="string">") &#60; blockBegin ("</span> + blockBegin + <span class="string">") &#38;&#38; start &#62;= 0"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;602</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;603</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            stopQuery();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;604</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (memoryLimit &#62;= 2 * size)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;605</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;606</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                blockBegin = start - size;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;607</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (blockBegin &#60; 0)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;608</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;609</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    blockBegin = 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;610</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;611</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;612</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;613</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;614</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                blockBegin = start;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;615</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;616</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            blockEnd = blockBegin + memoryLimit - 1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;617</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            startQuery(size);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;618</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Re-invoke getResults() to provide the wait processing.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;619</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> getResults(start, size);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;620</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;621</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;622</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// Assume we are moving on, do not retrieve any records prior to start.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;623</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">else</span> <span class="keyword">if</span> ((start + size - 1) &#62; blockEnd)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;624</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;625</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (log.isDebugEnabled())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;626</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;627</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"getResults(): Paging past end of loaded data as "</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;628</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + <span class="string">"start+size-1 ("</span> + (start + size - 1)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;629</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + <span class="string">") &#62; blockEnd ("</span> + blockEnd + <span class="string">")"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;630</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;631</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            stopQuery();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;632</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            blockBegin = start;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;633</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            blockEnd = blockBegin + memoryLimit - 1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;634</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            startQuery(size);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;635</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Re-invoke getResults() to provide the wait processing.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;636</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> getResults(start, size);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;637</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;638</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;639</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;640</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;641</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"Parameter configuration not "</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;642</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    + <span class="string">"accounted for."</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;643</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;644</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;645</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">int</span> fromIndex = start - blockBegin;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;646</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">int</span> toIndex = fromIndex + Math.min(size, results.size() - fromIndex);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;647</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;648</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (log.isDebugEnabled())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;649</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;650</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            log.debug(<span class="string">"getResults(): Retrieving records from results elements "</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;651</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    + <span class="string">"start-blockBegin ("</span> + fromIndex + <span class="string">") through "</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;652</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    + <span class="string">"fromIndex + Math.min(size, results.size() - fromIndex) ("</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;653</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    + toIndex + <span class="string">")"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;654</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;655</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;656</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        List returnResults;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;657</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;658</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">synchronized</span> (results)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;659</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;660</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            returnResults = <span class="keyword">new</span> ArrayList(results.subList(fromIndex, toIndex));</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;661</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;662</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;663</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (<span class="keyword">null</span> != returnBuilderClass)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;664</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;665</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Invoke the populateObjects() method</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;666</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            Object[] theArgs = { returnResults };</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;667</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;668</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;669</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                returnResults = (List) getPopulateObjectsMethod().invoke(</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;670</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        returnBuilderClass.newInstance(), theArgs);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;671</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;672</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">catch</span> (Exception e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;673</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;674</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">throw</span> <span class="keyword">new</span> TorqueException(<span class="string">"Unable to populate results"</span>, e);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;675</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;676</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;677</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        position = start + size;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;678</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        lastResults = returnResults;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;679</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> <span <span class="keyword">class</span>="keyword">return</span>Results;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;680</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;681</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;682</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;683</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * A background thread that retrieves the rows.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;684</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;685</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> run()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;686</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;687</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">boolean</span> dbSupportsNativeLimit;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;688</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">boolean</span> dbSupportsNativeOffset;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;689</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;690</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;691</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            dbSupportsNativeLimit</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;692</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    = (Torque.getDB(dbName).supportsNativeLimit());</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;693</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            dbSupportsNativeOffset</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;694</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    = (Torque.getDB(dbName).supportsNativeOffset());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;695</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;696</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">catch</span> (TorqueException e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;697</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;698</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            log.error(<span class="string">"run() : Exiting :"</span>, e);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;699</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// we cannot execute further because Torque is not initialized</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;700</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// correctly</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;701</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;702</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;703</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;704</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">int</span> size;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;705</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (dbSupportsNativeLimit &#38;&#38; dbSupportsNativeOffset)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;706</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;707</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// retrieve one page at a time</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;708</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            size = pageSize;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;709</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;710</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;711</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;712</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// retrieve the whole block at once and add the offset,</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;713</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// and add one record to check if we have reached the end of the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;714</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// data</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;715</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            size = blockBegin + memoryLimit + 1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;716</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;717</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">/*<span class="comment"> The connection to the database. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;718</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        Connection conn = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;719</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">/*<span class="comment">* Used to retrieve query results from Village. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;720</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        QueryDataSet qds = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;721</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;722</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;723</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;724</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Add 1 to memory limit to check if the query ends on a page break.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;725</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            results = <span class="keyword">new</span> ArrayList(memoryLimit + 1);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;726</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;727</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Use the criteria to limit the rows that are retrieved to the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;728</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// block of records that fit in the predefined memoryLimit.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;729</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (dbSupportsNativeLimit)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;730</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;731</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (dbSupportsNativeOffset)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;732</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;733</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    criteria.setOffset(blockBegin);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;734</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// Add 1 to memory limit to check if the query ends on a</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;735</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// page break.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;736</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    criteria.setLimit(memoryLimit + 1);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;737</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;738</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;739</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;740</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    criteria.setLimit(blockBegin + memoryLimit + 1);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;741</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;742</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;743</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;744</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">/*<span class="comment"> </span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;745</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">             * Fix criterions relating to booleanint or booleanchar columns</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;746</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">             * The defaultTableMap parameter in this call is null because we have</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;747</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">             * no default peer class inside LargeSelect. This means that all</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;748</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">             * columns not fully qualified will not be modified.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;749</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">             */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;750</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            BasePeer.correctBooleans(criteria, <span class="keyword">null</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;751</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            </pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;752</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            query = BasePeer.createQueryString(criteria);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;753</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;754</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Get a connection to the db.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;755</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            conn = Torque.getConnection(dbName);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;756</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;757</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Execute the query.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;758</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (log.isDebugEnabled())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;759</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;760</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): query = "</span> + query);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;761</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): memoryLimit = "</span> + memoryLimit);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;762</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): blockBegin = "</span> + blockBegin);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;763</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): blockEnd = "</span> + blockEnd);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;764</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;765</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            qds = <span class="keyword">new</span> QueryDataSet(conn, query);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;766</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;767</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Continue getting rows one page at a time until the memory limit</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;768</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// is reached, all results have been retrieved, or the rest</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;769</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// of the results have been determined to be irrelevant.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;770</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">while</span> (!killThread</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;771</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                &#38;&#38; !qds.allRecordsRetrieved()</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;772</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                &#38;&#38; currentlyFilledTo + pageSize &#60;= blockEnd)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;773</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;774</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// This caters for when memoryLimit is not a multiple of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;775</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">//  pageSize which it never is because we always add 1 above.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;776</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// not applicable if the db has no native limit where this</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;777</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// was already considered</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;778</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> ((currentlyFilledTo + pageSize) &#62;= blockEnd</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;779</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        &#38;&#38; dbSupportsNativeLimit)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;780</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;781</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// Add 1 to check if the query ends on a page break.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;782</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    size = blockEnd - currentlyFilledTo + 1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;783</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;784</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;785</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (log.isDebugEnabled())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;786</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;787</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    log.debug(<span class="string">"run(): Invoking BasePeer.getSelectResults(qds, "</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;788</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            + size + <span class="string">", false)"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;789</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;790</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;791</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                List tempResults</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;792</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        = BasePeer.getSelectResults(qds, size, false);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;793</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;794</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">int</span> startIndex = dbSupportsNativeOffset ? 0 : blockBegin;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;795</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;796</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">synchronized</span> (results)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;797</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;798</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">for</span> (<span class="keyword">int</span> i = startIndex, n = tempResults.size(); i &#60; n; i++)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;799</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;800</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        results.add(tempResults.get(i));</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;801</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;802</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;803</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;804</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (dbSupportsNativeLimit &#38;&#38; dbSupportsNativeOffset)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;805</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;806</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    currentlyFilledTo += tempResults.size();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;807</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;808</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;809</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;810</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    currentlyFilledTo = tempResults.size() - 1 - blockBegin;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;811</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;812</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;813</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">boolean</span> perhapsLastPage = <span class="keyword">true</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;814</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;815</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// If the extra record was indeed found then we know we are not</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;816</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// on the last page but we must now get rid of it.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;817</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> ((dbSupportsNativeLimit</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;818</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        &#38;&#38; (results.size() == memoryLimit + 1))</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;819</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    || (!dbSupportsNativeLimit</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;820</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            &#38;&#38; currentlyFilledTo &#62;= memoryLimit))</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;821</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;822</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">synchronized</span> (results)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;823</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;824</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        results.remove(currentlyFilledTo--);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;825</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;826</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    perhapsLastPage = false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;827</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;828</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;829</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (results.size() &#62; 0</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;830</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    &#38;&#38; blockBegin + currentlyFilledTo &#62;= totalRecords)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;831</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;832</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// Add 1 because index starts at 0</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;833</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    totalRecords = blockBegin + currentlyFilledTo + 1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;834</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;835</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;836</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// if the db has limited the datasets, we must retrieve all</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;837</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// datasets. If not, we are always finished because we fetch</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;838</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// the whole block at once.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;839</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (qds.allRecordsRetrieved()</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;840</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        || !dbSupportsNativeLimit)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;841</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;842</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    queryCompleted = <span class="keyword">true</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;843</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// The following ugly condition ensures that the totals are</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;844</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// not finalized when a user does something like requesting</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;845</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// a page greater than what exists in the database.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;846</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">if</span> (perhapsLastPage</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;847</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        &#38;&#38; getCurrentPageNumber() &#60;= getTotalPages())</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;848</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;849</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        totalsFinalized = <span class="keyword">true</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;850</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;851</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;852</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                qds.clearRecords();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;853</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;854</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;855</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (log.isDebugEnabled())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;856</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;857</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): While loop terminated because either:"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;858</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): 1. qds.allRecordsRetrieved(): "</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;859</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + qds.allRecordsRetrieved());</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;860</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): 2. killThread: "</span> + killThread);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;861</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): 3. !(currentlyFilledTo + size &#60;= blockEnd): !"</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;862</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + (currentlyFilledTo + pageSize &#60;= blockEnd));</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;863</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): - currentlyFilledTo: "</span> + currentlyFilledTo);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;864</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): - size: "</span> + pageSize);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;865</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): - blockEnd: "</span> + blockEnd);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;866</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.debug(<span class="string">"run(): - results.size(): "</span> + results.size());</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;867</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;868</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;869</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">catch</span> (TorqueException e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;870</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;871</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            log.error(e);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;872</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;873</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">catch</span> (SQLException e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;874</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;875</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            log.error(e);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;876</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;877</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">catch</span> (DataSetException e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;878</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;879</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            log.error(e);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;880</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;881</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">finally</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;882</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;883</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">try</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;884</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;885</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (qds != <span class="keyword">null</span>)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;886</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;887</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    qds.close();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;888</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;889</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                Torque.closeConnection(conn);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;890</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;891</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">catch</span> (SQLException e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;892</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;893</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.error(e);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;894</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;895</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">catch</span> (DataSetException e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;896</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;897</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log.error(e);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;898</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            }</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;899</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            threadRunning = false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;900</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;901</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;902</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;903</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;904</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Starts a new thread to retrieve the result set.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;905</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;906</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param initialSize the initial size for each block.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;907</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;908</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> startQuery(<span class="keyword">int</span> initialSize)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;909</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;910</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (!threadRunning)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;911</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;912</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            pageSize = initialSize;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;913</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            currentlyFilledTo = -1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;914</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            queryCompleted = false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;915</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            thread = <span class="keyword">new</span> Thread(<span class="keyword">this</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;916</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            thread.start();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;917</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            threadRunning = <span class="keyword">true</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;918</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;919</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;920</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;921</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;922</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Used to stop filling the memory with the current block of results, if it</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;923</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * has been determined that they are no longer relevant.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;924</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;925</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws TorqueException if a sleep is interrupted.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;926</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;927</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> stopQuery() throws TorqueException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;928</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;929</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (threadRunning)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;930</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;931</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            killThread = <span class="keyword">true</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;932</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">while</span> (thread.isAlive())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;933</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;934</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;935</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;936</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    Thread.sleep(QUERY_STOP_SLEEP_TIME);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;937</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;938</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">catch</span> (InterruptedException e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;939</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;940</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">throw</span> <span class="keyword">new</span> TorqueException(<span class="string">"Unexpected interruption"</span>, e);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;941</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;942</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;943</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            killThread = false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;944</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;945</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;946</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;947</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;948</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieve the number of the current page.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;949</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;950</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return the current page number.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;951</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;952</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">int</span> getCurrentPageNumber()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;953</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;954</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> position / pageSize;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;955</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;956</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;957</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;958</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieve the total number of search result records that are known to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;959</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * exist (this will be the actual value when the query has completeted (see</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;960</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;getTotalsFinalized()&#60;/code&#62;).  The convenience method</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;961</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;getRecordProgressText()&#60;/code&#62; may be more useful for presenting to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;962</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * users.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;963</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;964</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return the number of result records known to exist (not accurate until</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;965</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;getTotalsFinalized()&#60;/code&#62; returns &#60;code&#62;true&#60;/code&#62;).</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;966</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;967</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">int</span> getTotalRecords()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;968</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;969</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> totalRecords;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;970</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;971</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;972</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;973</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Provide an indication of whether or not paging of results will be</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;974</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * required.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;975</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;976</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return &#60;code&#62;true&#60;/code&#62; when multiple pages of results exist.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;977</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;978</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">boolean</span> getPaginated()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;979</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;980</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// Handle a page memory limit of 1 page.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;981</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (!getTotalsFinalized())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;982</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;983</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;984</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;985</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> blockBegin + currentlyFilledTo + 1 &#62; pageSize;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;986</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;987</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;988</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;989</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieve the total number of pages of search results that are known to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;990</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * exist (this will be the actual value when the query has completeted (see</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;991</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;getQyeryCompleted()&#60;/code&#62;).  The convenience method</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;992</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;getPageProgressText()&#60;/code&#62; may be more useful for presenting to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;993</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * users.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;994</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;995</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return the number of pages of results known to exist (not accurate until</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;996</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;getTotalsFinalized()&#60;/code&#62; returns &#60;code&#62;true&#60;/code&#62;).</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;997</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;998</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">int</span> getTotalPages()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;999</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1000</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (totalPages &#62; -1)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1001</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1002</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> totalPages;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1003</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1004</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1005</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">int</span> tempPageCount =  getTotalRecords() / pageSize</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1006</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                + (getTotalRecords() % pageSize &#62; 0 ? 1 : 0);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1007</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1008</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (getTotalsFinalized())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1009</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1010</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            totalPages = tempPageCount;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1011</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1012</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1013</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> tempPageCount;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1014</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1015</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1016</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1017</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieve the page size.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1018</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1019</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return the number of records returned on each invocation of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1020</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;code&#62;getNextResults()&#60;/code&#62;/&#60;code&#62;getPreviousResults()&#60;/code&#62;.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1021</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1022</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">int</span> getPageSize()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1023</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1024</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> pageSize;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1025</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1026</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1027</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1028</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Provide access to indicator that the total values for the number of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1029</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * records and pages are now accurate as opposed to known upper limits.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1030</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1031</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return &#60;code&#62;true&#60;/code&#62; when the totals are known to have been fully</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1032</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * computed.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1033</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1034</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">boolean</span> getTotalsFinalized()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1035</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1036</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> totalsFinalized;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1037</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1038</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1039</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1040</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Provide a way of changing the more pages/records indicator.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1041</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1042</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param moreIndicator the indicator to use in place of the default</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1043</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * ("&#38;gt;").</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1044</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1045</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> setMoreIndicator(String moreIndicator)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1046</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1047</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        LargeSelect.moreIndicator = moreIndicator;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1048</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1049</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1050</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1051</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieve the more pages/records indicator.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1052</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1053</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">static</span> String getMoreIndicator()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1054</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1055</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> LargeSelect.moreIndicator;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1056</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1057</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1058</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1059</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Sets the multiplier that will be used to compute the memory limit when a</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1060</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * constructor with no memory page limit is used - the memory limit will be</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1061</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * this number multiplied by the page size.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1062</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1063</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param memoryPageLimit the maximum number of pages to be in memory</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1064</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * at one time.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1065</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1066</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> setMemoryPageLimit(<span class="keyword">int</span> memoryPageLimit)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1067</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1068</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        LargeSelect.memoryPageLimit = memoryPageLimit;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1069</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1070</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1071</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1072</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieves the multiplier that will be used to compute the memory limit</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1073</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * when a constructor with no memory page limit is used - the memory limit</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1074</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * will be this number multiplied by the page size.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1075</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1076</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">int</span> getMemoryPageLimit()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1077</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1078</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> LargeSelect.memoryPageLimit;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1079</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1080</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1081</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1082</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * A convenience method that provides text showing progress through the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1083</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * selected rows on a page basis.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1084</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1085</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return progress text in the form of "1 of &#38;gt; 5" where "&#38;gt;" can be</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1086</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * configured using &#60;code&#62;setMoreIndicator()&#60;/code&#62;.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1087</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1088</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> String getPageProgressText()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1089</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1090</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        StringBuffer result = <span class="keyword">new</span> StringBuffer();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1091</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(getCurrentPageNumber());</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1092</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(<span class="string">" of "</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1093</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (!totalsFinalized)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1094</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1095</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            result.append(moreIndicator);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1096</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            result.append(<span class="string">" "</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1097</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1098</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(getTotalPages());</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1099</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> result.toString();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1100</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1101</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1102</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1103</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Provides a count of the number of rows to be displayed on the current</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1104</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * page - for the last page this may be less than the configured page size.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1105</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1106</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return the number of records that are included on the current page of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1107</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * results.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1108</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws TorqueException if invoking the &#60;code&#62;populateObjects()&#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1109</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * method runs into problems or a sleep is unexpectedly interrupted.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1110</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1111</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">int</span> getCurrentPageSize() throws TorqueException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1112</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1113</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (<span class="keyword">null</span> == getCurrentPageResults())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1114</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1115</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1116</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1117</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> getCurrentPageResults().size();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1118</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1119</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1120</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1121</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Provide the record number of the first row included on the current page.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1122</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1123</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return The record number of the first row of the current page.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1124</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1125</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">int</span> getFirstRecordNoForPage()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1126</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1127</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (getCurrentPageNumber() &#60; 1)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1128</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1129</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1130</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1131</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> (getCurrentPageNumber() - 1) * getPageSize() + 1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1132</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1133</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1134</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1135</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Provide the record number of the last row included on the current page.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1136</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1137</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return the record number of the last row of the current page.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1138</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws TorqueException if invoking the &#60;code&#62;populateObjects()&#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1139</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * method runs into problems or a sleep is unexpectedly interrupted.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1140</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1141</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">int</span> getLastRecordNoForPage() throws TorqueException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1142</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1143</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (0 == getCurrentPageNumber())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1144</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1145</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1146</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1147</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> (getCurrentPageNumber() - 1) * getPageSize()</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1148</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                + getCurrentPageSize();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1149</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1150</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1151</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1152</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * A convenience method that provides text showing progress through the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1153</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * selected rows on a record basis.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1154</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1155</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return progress text in the form of "26 - 50 of &#38;gt; 250" where "&#38;gt;"</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1156</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * can be configured using &#60;code&#62;setMoreIndicator()&#60;/code&#62;.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1157</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws TorqueException if invoking the &#60;code&#62;populateObjects()&#60;code&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1158</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * method runs into problems or a sleep is unexpectedly interrupted.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1159</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1160</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> String getRecordProgressText() throws TorqueException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1161</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1162</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        StringBuffer result = <span class="keyword">new</span> StringBuffer();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1163</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(getFirstRecordNoForPage());</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1164</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(<span class="string">" - "</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1165</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(getLastRecordNoForPage());</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1166</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(<span class="string">" of "</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1167</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (!totalsFinalized)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1168</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1169</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            result.append(moreIndicator);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1170</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            result.append(<span class="string">" "</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1171</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1172</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(getTotalRecords());</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1173</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> result.toString();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1174</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1175</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1176</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1177</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Indicates if further result pages are available.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1178</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1179</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return &#60;code&#62;true&#60;/code&#62; when further results are available.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1180</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1181</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">boolean</span> getNextResultsAvailable()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1182</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1183</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (!totalsFinalized || getCurrentPageNumber() &#60; getTotalPages())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1184</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1185</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1186</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1187</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1188</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1189</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1190</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1191</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Indicates if previous results pages are available.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1192</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1193</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return &#60;code&#62;true&#60;/code&#62; when previous results are available.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1194</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1195</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">boolean</span> getPreviousResultsAvailable()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1196</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1197</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (getCurrentPageNumber() &#60;= 1)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1198</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1199</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1200</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1201</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1202</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1203</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1204</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1205</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Indicates if any results are available.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1206</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1207</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return &#60;code&#62;true&#60;/code&#62; of any results are available.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1208</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1209</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">boolean</span> hasResultsAvailable()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1210</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1211</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> getTotalRecords() &#62; 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1212</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1213</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1214</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1215</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Clear the query result so that the query is reexecuted when the next page</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1216</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * is retrieved.  You may want to invoke this method if you are returning to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1217</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * a page after performing an operation on an item in the result set.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1218</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1219</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws TorqueException if a sleep is interrupted.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1220</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1221</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> invalidateResult() throws TorqueException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1222</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1223</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        stopQuery();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1224</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        blockBegin = 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1225</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        blockEnd = 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1226</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        currentlyFilledTo = -1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1227</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        results = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1228</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// TODO Perhaps store the oldPosition and immediately restart the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1229</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// query.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1230</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// oldPosition = position;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1231</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        position = 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1232</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        totalPages = -1;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1233</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        totalRecords = 0;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1234</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        queryCompleted = false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1235</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        totalsFinalized = false;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1236</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        lastResults = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1237</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1238</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1239</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1240</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieve a search parameter.  This acts as a convenient place to store</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1241</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * parameters that relate to the LargeSelect to make it easy to get at them</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1242</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * in order to repopulate search parameters on a form when the next page of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1243</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * results is retrieved - they in no way effect the operation of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1244</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * LargeSelect.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1245</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1246</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param name the search parameter key to retrieve.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1247</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return the value of the search parameter.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1248</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1249</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> String getSearchParam(String name)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1250</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1251</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> getSearchParam(name, <span class="keyword">null</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1252</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1253</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1254</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1255</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieve a search parameter.  This acts as a convenient place to store</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1256</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * parameters that relate to the LargeSelect to make it easy to get at them</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1257</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * in order to repopulate search parameters on a form when the next page of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1258</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * results is retrieved - they in no way effect the operation of</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1259</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * LargeSelect.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1260</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1261</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param name the search parameter key to retrieve.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1262</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param defaultValue the default value to return if the key is not found.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1263</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return the value of the search parameter.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1264</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1265</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> String getSearchParam(String name, String defaultValue)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1266</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1267</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (<span class="keyword">null</span> == params)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1268</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1269</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">return</span> defaultValue;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1270</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1271</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        String value = (String) params.get(name);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1272</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> <span class="keyword">null</span> == value ? defaultValue : value;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1273</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1274</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1275</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1276</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Set a search parameter.  If the value is &#60;code&#62;null&#60;/code&#62; then the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1277</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * key will be removed from the parameters.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1278</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1279</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param name the search parameter key to set.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1280</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param value the value of the search parameter to store.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1281</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1282</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setSearchParam(String name, String value)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1283</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1284</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (<span class="keyword">null</span> == value)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1285</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1286</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            removeSearchParam(name);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1287</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1288</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1289</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1290</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (<span class="keyword">null</span> != name)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1291</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1292</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (<span class="keyword">null</span> == params)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1293</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1294</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    params = <span class="keyword">new</span> Hashtable();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1295</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1296</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                params.put(name, value);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1297</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1298</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1299</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1300</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1301</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1302</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Remove a value from the search parameters.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1303</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1304</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param name the search parameter key to remove.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1305</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1306</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> removeSearchParam(String name)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1307</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1308</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (<span class="keyword">null</span> != params)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1309</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1310</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            params.remove(name);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1311</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1312</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1313</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1314</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1315</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Deserialize this LargeSelect instance.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1316</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1317</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param inputStream The serialization input stream.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1318</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws IOException</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1319</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws ClassNotFoundException</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1320</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1321</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">void</span> readObject(ObjectInputStream inputStream)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1322</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            throws IOException, ClassNotFoundException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1323</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1324</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        inputStream.defaultReadObject();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1325</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1326</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// avoid NPE because of Tomcat de-serialization of sessions</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1327</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (Torque.isInit())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1328</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1329</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            startQuery(pageSize);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1330</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1331</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1332</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1333</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1334</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Provide something useful for debugging purposes.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1335</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1336</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return some basic information about this instance of LargeSelect.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1337</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1338</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> String toString()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1339</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1340</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        StringBuffer result = <span class="keyword">new</span> StringBuffer();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1341</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(<span class="string">"LargeSelect - TotalRecords: "</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1342</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(getTotalRecords());</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1343</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(<span class="string">" TotalsFinalised: "</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1344</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(getTotalsFinalized());</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1345</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        result.append(<span class="string">"\nParameters:"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1346</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">if</span> (<span class="keyword">null</span> == params || params.size() == 0)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1347</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1348</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            result.append(<span class="string">" No parameters have been set."</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1349</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1350</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1351</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1352</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            Set keys = params.keySet();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1353</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">for</span> (Iterator iter = keys.iterator(); iter.hasNext();)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1354</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1355</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                String key = (String) iter.next();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1356</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                String val = (String) params.get(key);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1357</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                result.append(<span class="string">"\n "</span>).append(key).append(<span class="string">": "</span>).append(val);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1358</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1359</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;1360</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> result.toString();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1361</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1362</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;1363</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;}</pre></td>
    </tr>
  </table>
<p><table cellpadding="0" cellspacing="0" class="report">  <tr class="report">    <td class="reportText"><span class="text">    This report is generated by <a href="http://www.jcoverage.com">jcoverage</a>, <a href="http://maven.apache.org">Maven</a> and <a href="http://maven.apache.org/reference/plugins/jcoverage/">Maven JCoverage Plugin</a>.    </span></td>  </tr></table>
</body>
</html>
